Support for editing config file (to an extent) via web dashboard#49
Support for editing config file (to an extent) via web dashboard#49luke-jr merged 15 commits intoOCEAN-xyz:masterfrom
Conversation
There was a problem hiding this comment.
Sorry, missed this when reviewing... GBT cURL call has an aggressive timeout so that the block template thread never hangs.
Booting all stratum clients after a single failure is probably too aggressive, considering the 1 second retry already in play. Any number of benign things can prevent this call from returning, especially if the node isn't on the same machine.
If we are working on something valid, I'd suggest not booting stratum clients until GBT fails for long enough for the the current job to be stale.
|
Is there anything in this patch, or elsewhere, that adds access control for the dashboard? AFAIK, that has to be done external to datum_gateway itself right now, but it's not too much of a threat to just display the stats. Adding config editing changes that. |
|
@szarka This feature is disabled by default and needs to be turned on with a new config file setting. Currently, it does not have any special access control, and that could be a possible follow-up PR. Note that it intentionally does not "read back" the RPC password, only allows changing it. |
Nice. 👍 |
|
Let's add authentication to this. Should require (or least give the user the option of requiring) username/password to log in to the dashboard. |
|
Not sure authentication is realistic: right now, the webserver is entirely unencrypted and can just be MITM'd... |
882c6db to
2201df6
Compare
|
Rebased
|
wizkid057
left a comment
There was a problem hiding this comment.
tACK
Some notes:
Pooled vs Non-Pooled is a little confusing here in the web configurator vs the config file help doc. The web configurator always puts the default pool host in the form field, regardless of pooled/non-pooled, but doesn't actually save it to the DATUM pool host if non-pooled is selected... which isn't exactly what I'd expect from that. Maybe if non-pooled is selected, the pool host form field should be disabled, when possible (probably via JS).
We may want to refactor this someday to better use info from datum_conf a bit more automagically vs the heavily manual list of variables that can be used with this. Including sufficient data in the configuration item structure to accomplish validation and whatnot, along with human descriptions, etc might be the way to go for this one day.
Built on top of #25
Mostly functional, two FIXMEs remain that should have minimal issues until followup. Would be nice to avoid restarting ever, but that can be a future improvement.